<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.45
     from schintro.txi on 19 Febuary 1997 -->

<TITLE>An Introduction to Scheme and its Implementation - Values are Pointers</TITLE>
</HEAD>
<BODY>
Go to the <A HREF="schintro_1.html">first</A>, <A HREF="schintro_28.html">previous</A>, <A HREF="schintro_30.html">next</A>, <A HREF="schintro_143.html">last</A> section, <A HREF="schintro_toc.html">table of contents</A>.
<HR>


<H3><A NAME="SEC30" HREF="schintro_toc.html#SEC30">All Values are Pointers to Objects</A></H3>

<P>
<A NAME="IDX16"></A>
<A NAME="IDX17"></A>

</P>
<P>
As I said earlier, all values are conceptually pointers to <EM>objects</EM>
on a heap, and you don't ever have to explicitly free memory.

</P>
<P>
By "object," I don't necessarily mean object in the object-oriented
sense.  I just mean <EM>data objects</EM> like Pascal records or C structs,
which can be referenced via pointers and may (or may not) hold state
information.

</P>
<P>
<EM>Some</EM> versions of Scheme do have object systems for object-oriented
programming.  (This includes our own RScheme system, where standard
Scheme types are all classes in a unified object system.)  In this book,
however, we use the word "object" in a broader sense, meaning an entity
that you can have a pointer to.

</P>

<UL>
<LI><A HREF="schintro_30.html#SEC31">All Values are Pointers</A>: All Values are Pointers
<LI><A HREF="schintro_32.html#SEC33">Objects on the Heap</A>: Objects on the Heap
</UL>

<HR>
Go to the <A HREF="schintro_1.html">first</A>, <A HREF="schintro_28.html">previous</A>, <A HREF="schintro_30.html">next</A>, <A HREF="schintro_143.html">last</A> section, <A HREF="schintro_toc.html">table of contents</A>.
</BODY>
</HTML>
